/**
 * Author(s): xuming.Wong <xuming.Wong@gmail.com>
 */

#ifndef __PQ_TerrainComponent_H__
#define __PQ_TerrainComponent_H__

#include "Component.h"
#include "OgreTerrain.h"//terrain

namespace PQEngine
{
	class TerrainHeightPaintSetting
	{
	public:
		float BrushSize;
		float Opacity;
		int BushType;
	public:
		TerrainHeightPaintSetting()
		{
			BrushSize=1.0f;
			Opacity=1.0f;
			BushType=0;
		}
	};

	class TerrainLayerPaintSetting
	{
	public:
		float BrushSize;
		float Opacity;
		int BushType;
	public:
		TerrainLayerPaintSetting()
		{
			BrushSize=1.0f;
			Opacity=1.0f;
			BushType=0;
		}
	};

	class TerrainGlobalSetting
	{

	};
	//paint height
	//smooth height
	//paint layer
	//terrain setting

	class TerrainComponent
		: public Component
	{
	public:
		TerrainComponent();

		inline TerrainHeightPaintSetting& getHeightPaintSetting()
		{
			return _heightPaintSetting;
		}

		inline TerrainLayerPaintSetting& getLayerPaintSetting()
		{
			return _layerPaintSetting;
		}

		inline TerrainGlobalSetting& getGlobalSetting()
		{
			return _globalSetting;
		}


	private:
		TerrainHeightPaintSetting _heightPaintSetting;
		TerrainLayerPaintSetting _layerPaintSetting;
		TerrainGlobalSetting _globalSetting;


	};
}
#endif
